//
// MLME task global functions
//


/////////////////////////////////////////////////////////////////////////////
//Global Functions
extern BOOL MLME_Init(PWB32_ADAPTER);
extern void MLME_Halt(PWB32_ADAPTER);
extern void MLME_Stop(IN PWB32_ADAPTER Adapter);
extern void MLME_Entry(PWB32_ADAPTER , pK_MSG);
extern void MLME_initState(PWB_BSSDESCRIPTION);
extern void MLME_IBSSinitState(PWB32_ADAPTER Adapter);
extern void MLME_findSTA(PWB_BSSDESCRIPTION);
extern void MLME_JoinCfm(PWB_BSSDESCRIPTION psBSS, UCHAR BssType);
//extern BOOL boMLME_InactiveState(PWB_BSSDESCRIPTION);
//extern BOOL boMLME_IdleScanState(PWB_BSSDESCRIPTION);
//extern BOOL boMLME_FoundSTAinfo(PWB_BSSDESCRIPTION);
extern void vMlmeTimerStop(PWB32_ADAPTER Adapter, USHORT wIdx);
#ifdef _IBSS_BEACON_SEQ_STICK_
extern void vMlmeTimerStart(PWB32_ADAPTER Adapter, USHORT wIdx, UINT timeout_value);
#endif
extern int SendProbeRequest(PWB32_ADAPTER Adapter, struct SSID_Element *SSID);

extern CHAR SendAuthenticationRequest(PWB32_ADAPTER    Adapter,
                               USHORT              iMSindex,
                               USHORT             wAuthenType,
                               USHORT             wAuthenSeqNum,
                               USHORT             wStatus,
                               PUCHAR           ChallengeText);
extern CHAR SendDeauthentication(PWB32_ADAPTER Adapter,
                          USHORT iMSindex,
                          USHORT reasonCode);
CHAR SendAssociationRequest(PWB32_ADAPTER   Adapter,
                            USHORT             iMSindex,
                            BOOL         Reasso);//added by ws 07/22/04
                            
/*int SendReassociationRequest(PWB32_ADAPTER Adapter,
                             int         iMSindex);*/
                           //  omint by ws 07/22/04
                             
CHAR SendDisassociation(PWB32_ADAPTER   Adapter,
                        USHORT 			iMSindex,
                        USHORT        	reasonCode);

#define CardGetChallengeText( _AA_ , _BB_ )


